home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Scene 96
/
Scene 96 International Edition (Zyklop Software) (Disc 1) (1997).iso
/
intros
/
64k
/
revolt
/
sources
/
player
/
play.asm
< prev
next >
Wrap
Assembly Source File
|
1996-03-01
|
7KB
|
342 lines
EXTRN ConfigInit : FAR
EXTRN LoadModSb : FAR
EXTRN PlayMusic : FAR
EXTRN StopMusic : FAR
EXTRN EndMusic : FAR
EXTRN GetSongPosition : FAR
EXTRN Configinit_g : FAR
EXTRN LoadMOD_g : FAR
EXTRN Playmusic_g : FAR
EXTRN Stopmusic_g : FAR
EXTRN endmusic_g : FAR
.MODEL SmalL
.STACK 100h
.386
ASSUME cs:WarLock
WarLock SEGMENT USE16
gus db 0 ;gdy zero to soundblaster
dzidzi db 1 ;z soundem
pamiæì PROC
mov ax,6200h
int 21h
mov es,bx
mov bx,90000/16
mov ah,4ah
int 21h
ret
pamiæì ENDP
modek db 'revolt.$$$',0
include exec.inc
blur db 'start.exe',0
adrrr dd 0
Start:
mov ax,3
int 10h
call wybierz
xor ax,ax
mov es,ax
mov al,dzidzi
mov byte ptr es:[20+3],al
in al,21h
or al,2
out 21h,al
;call tworz_mod
call pamiæì
cmp dzidzi,0
je e1c
;;;
call tworz_mod
cmp gus,1
je load_gus
mov cx,0c242h
push cs
pop ds
lea bx,param
call configinit
push cs
pop ds
lea dx,modek
call loadmodsb
call playmusic
call kasuj_mod
jmp e1c
load_gus:
mov cx,0c242h
push cs
pop ds
lea bx,param
call configinit_g
push cs
pop ds
lea dx,modek
call loadmod_g
call playmusic_g
call kasuj_mod
e1c:
exec blur
; in al,60h
; cmp al,1
; jne e1c
cmp dzidzi,0
je e2c
cmp gus,1
je stopgus
call StopMusic
call EndMusic
jmp e2c
stopgus:
call stopmusic_g
call endmusic_g
e2c:
in al,21h
and al,255-2
out 21h,al
mov ax,cs
mov ds,ax
lea dx,fileid
mov ah,9
int 21h
mov ax,4c00h
int 21h
wybierz:
mov ax,SEG nap1
mov ds,ax
lea dx,nap1
mov ah,9
int 21h
@sound_machine:
mov ah,0
int 16h
cmp al,'1'
je @sbn
cmp al,'2'
je @sbpro
cmp al,'3'
je @gus
cmp al,'4'
je @nsss
jmp @sound_machine
@portt: lea dx,porst
mov ah,9
int 21h
@porty: ;levis'y
mov ah,0
int 16h
cmp al,'1'
je p210
cmp al,'2'
je p220
cmp al,'3'
je p230
cmp al,'4'
je p240
cmp al,'5'
je p250
cmp al,'6'
je p260
cmp al,'7'
je p270
cmp al,'8'
je p280
cmp al,'9'
je p290
jmp @porty
@irqqq: lea dx,irqa
mov ah,9
int 21h
@sirq: mov ah,0
int 16h
cmp al,'1'
je i1
cmp al,'3'
je i3
cmp al,'5'
je i5
cmp al,'7'
je i7
jmp @sirq
@dmaa: lea dx,dmaaa
mov ah,9
int 21h
@dli: mov ah,0
int 16h
cmp al,'1'
je d1
cmp al,'2'
je d2
cmp al,'3'
je d3
cmp al,'4'
je d4
cmp al,'5'
je d5
cmp al,'6'
je d6
cmp al,'7'
je d7
cmp al,'1'
je d1
jmp @dli
staraa:
ret
d1: mov word ptr cs:[si+2],1
jmp staraa
d2: mov word ptr cs:[si+2],2
jmp staraa
d3: mov word ptr cs:[si+2],3
jmp staraa
d4: mov word ptr cs:[si+2],4
jmp staraa
d5: mov word ptr cs:[si+2],5
jmp staraa
d6: mov word ptr cs:[si+2],6
jmp staraa
d7: mov word ptr cs:[si+2],7
jmp staraa
i1: mov word ptr cs:[si+3],1
jmp @dmaa
i3: mov word ptr cs:[si+3],3
jmp @dmaa
i5: mov word ptr cs:[si+3],5
jmp @dmaa
i7: mov word ptr cs:[si+3],7
jmp @dmaa
p290: mov word ptr cs:[si],290h
jmp @irqqq
p280: mov word ptr cs:[si],280h
jmp @irqqq
p270: mov word ptr cs:[si],270h
jmp @irqqq
p260: mov word ptr cs:[si],260h
jmp @irqqq
p250: mov word ptr cs:[si],250h
jmp @irqqq
p240: mov word ptr cs:[si],240h
jmp @irqqq
p230: mov word ptr cs:[si],230h
jmp @irqqq
p220: mov word ptr cs:[si],220h
jmp @irqqq
p210: mov word ptr cs:[si],210h
jmp @irqqq
@gus:
mov gus,1
mov dzidzi,1
lea si,param
mov byte ptr cs:[si+6],3
jmp @portt
@sbpro:
mov dzidzi,1
lea si,param
mov byte ptr cs:[si+6],1 ;sb-pro
jmp @portt
@sbn:
mov dzidzi,1
lea si,param
mov byte ptr cs:[si+6],2 ;sb-nor
jmp @portt
@nsss: mov dzidzi,0
ret
nap1 db 'AMNESTY presents REVOLT... (our last prodd)',10,13
db 'NOLIMIT version with GUS support now...',10,13
db 'And some special thanx & greets go to:',10,13
db 'Nathan(i promised you,but my memory ehhhh...thanx for yar nice 3d-obiect)',10,13
db 'Yarpen(yeah our letter make me more happy...250kb letters LUREZ...)',10,13
db 'Gosia (i hope that you read it) - i like you very much too',10,13
db 'Ice (for a drink our tea:) without us...',10,13
db 'Ziel,Astra,Heya & other ADR dudes...(ABSENCE rulez)...',10,13
db 'Ozir & HPZ (what about Delirum? thanx for party-invitation)',10,13
db 'Caesar - ya guy...sent my kind of regards to yar sweatheart',10,13
db 'Siostra - elemeledudkipszczolkiimprezkietc ... ',10,13
db 'Camel - hey stary,do ya remeber me? ODTF rulez...',10,13
db 'Szudi - thanx for yar PRIMAX ... ya''r coool man !',10,13
db 'Warlock - kup sobie GUSa! (Szudi)',10,13
db 'and OTHER...',10,13
db 10,13
db 'Select your sound-machine...',10,13
db '1. Sound Blaster (MONO)',10,13
db '2. Sound Blaster PRO (STEREO)',10,13
db '3. Super-duper GUS ',10,13
db '4. Quadro NO-SOUND ',10,13,10,13,'$'
porst db 'Select port number...',10,13
db '1. P210 2. P220 .... ?. P2?0',10,13,'$'
irqa db 10,13,'Select IRQ...',10,13
db '1.IRQ1 3.IRQ3 5.IRQ5 7.IRQ7',10,13,'$'
dmaaa db 10,13,'And yar DMA...',10,13
db '1. DMA1 2.DMA2 ... ?.DMA?',10,13,'$'
param dw 220h ;0
db 1 ;2
db 7 ;3
dw 22000 ;4
db 1 ;1sbpro 2sb ;6
db 0 ;7
db 0
db 128
db 1
db 255
db 255
db 255
mmm db 'revolt.$$$',0
kasuj_mod:
mov ax,cs
mov ds,ax
lea dx,mmm
mov ah,41h
int 21h
ret
tworz_mod:
mov ax,cs
mov ds,ax
lea dx,mmm
mov cx,0
mov ax,3c00h
mov ah,3ch
int 21h
mov bx,ax
mov cx,37478
mov ax,cs
mov ds,ax
lea dx,modey
mov ax,4000h
int 21h
mov ah,3eh
int 21h
ret
fileid:
include fileid
modey: include mod.db
WarLock ENDS
END Start